package com.app.model;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.sql.Timestamp;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("lm_complaint")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ColumnWidth(25)
public class ComplaintModel {
    @TableId(value = "id", type = IdType.AUTO)
    @ExcelProperty("编号")
    private Integer id;
    @ExcelProperty("反映⼈姓名")
    private String reflectorName;//反映⼈姓名
    @ExcelProperty("反映人电话")
    private String reflectorMobile;//反映人电话
    @ExcelProperty("⽋薪负责⼈姓名")
    private String salaryName;//⽋薪负责⼈姓名
    @ExcelProperty("⽋薪负责⼈电话")
    private String salaryMobile;//⽋薪负责⼈电话
    @TableField(exist = false)
    @ExcelProperty("是否签订劳动合同")
    private String isContractText;//是否签订劳动合同1是2否
    @TableField(exist = false)
    @ExcelProperty("领域")
    private String typeText;//2⾮⼯程建设领域1⼯程建设领域
    @ExcelProperty("实际⽤⼯所在地")
    private String actualLocation;//实际⽤⼯所在地
    @ExcelProperty("详细地址")
    private String address;//详细地址
    @ExcelProperty("⽤⼈单位名称/建设单位名称")
    private String unitName;//⽤⼈单位名称/建设单位名称
    @ExcelProperty("⽋薪⼈数（⼈）")
    private Integer salaryCount;//⽋薪⼈数（⼈）
    @ExcelProperty("⽋薪⾦额（元）")
    private String salaryAmount;//⽋薪⾦额（元）
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") //后端注解格式化日期
    @ExcelProperty("⽋薪发⽣时间")
    private String salaryTime;//⽋薪发⽣时间
    @ExcelProperty("⽋薪基本情况摘要")
    private String information;//⽋薪基本情况摘要
    @TableField(exist = false)
    @ExcelProperty("是否曾经通过以下途径反映上述情况")
    private String[] situationText;//是否曾经通过以下途径反映上述情况（可多选）
    @ExcelIgnore
    private String idCardFront;//身份证正面
    @ExcelIgnore
    private String idCardBack;//身份证背面
    @ExcelIgnore
    private Integer isContract;//是否签订劳动合同1是2否
    @ExcelIgnore
    private Integer industryIndex;//行业
    @ExcelIgnore
    private Integer reclassifyIndustry;//重新归类所属行业字段
    @TableField(exist = false)
    @ExcelIgnore
    private String[] situation;//是否曾经通过以下途径反映上述情况（可多选）
    @ExcelIgnore
    private String situate;//是否曾经通过以下途径反映上述情况（可多选）
    @ExcelIgnore
    private Integer type;//2⾮⼯程建设领域1⼯程建设领域
    @ExcelProperty("拖⽋⼯资项⽬名称")
    private String projectName;//拖⽋⼯资项⽬名称
    @ExcelProperty("施⼯单位名称")
    private String constructionName;//施⼯单位名称
    @ExcelProperty("分包单位名称")
    private String subpackageName;//分包单位名称
    @ExcelIgnore
    private Integer status;//1办理中2已办理3驳回
    @TableField(exist = false)
    @ExcelProperty("办理状态")
    private String statusText;//1办理中2已办理3驳回
    @ExcelProperty("编码")
    private String code;//编码
    @ExcelProperty("处理结果")
    private String remark;//备注
    @ExcelProperty("处理进展")
    private String handleRemark;//处理备注
    @ExcelProperty("办理人姓名")
    private String rejectRemark;//办理人
    @TableField(exist = false)
    @ExcelProperty("办理人电话")
    private String processedMobile;//办理人电话
    @TableField(exist = false)
    @ExcelProperty("处理时间")
    private String time1;
    @ExcelIgnore
    private Integer examine;//1审核通过2未通过
    @ExcelProperty("审核备注")
    private String examineRemark;//1审核通过2未通过
    @ExcelIgnore
    private Integer userId;//用户id
    @ExcelIgnore
    private Integer clue;//是否有效线索
    @TableField(exist = false)
    @ExcelProperty("是否有效线索")
    private String clueText;//是否有效线索
    @TableField(exist = false)
    @ExcelProperty("闭环状态")
    private String circleStatusText;
    @ExcelIgnore
    private String record;//是否有效线索
    @ExcelIgnore
    private String isJiuquan;//是否是酒泉市推送
    @ExcelIgnore
    private Integer areaId;//地区id
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") //后端注解格式化日期
    @ExcelIgnore
    private Timestamp processingTime;//处理时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") //后端注解格式化日期
    @ExcelIgnore
    private Timestamp createTime;
    @ExcelIgnore
    private Timestamp updateTime;
    @TableField(exist = false)
    @ExcelProperty("创建时间")
    private String time2;
    @TableField(exist = false)
    @ExcelIgnore
    private String[] pic;//图片
    @ExcelIgnore
    @TableField(exist = false)
    private String[] PDF;//PDF
    @TableField(exist = false)
    @ExcelIgnore
    private String[] video;//视频
    @TableField(exist = false)
    @ExcelIgnore
    private String[] audio;//音频
    @ExcelIgnore
    private Double longitude;//经度
    @ExcelIgnore
    private Double latitude;//纬度
    @TableField(exist = false)
    @ExcelIgnore
    private String picUrl;
    @TableField(exist = false)
    @ExcelIgnore
    private String pdfUrl;
    @TableField(exist = false)
    @ExcelIgnore
    private String videoUrl;
    @TableField(exist = false)
    @ExcelIgnore
    private String audioUrl;
    @TableField(exist = false)
    @ExcelIgnore
    private String selectCrtTime;
    @TableField(exist = false)
    @ExcelIgnore
    private Integer adminId;
    @ExcelIgnore
    private Integer adminUserId;
    @ExcelIgnore
    private Integer processedId;//办理人id
    @TableField(exist = false)
    @ExcelIgnore
    private String processedName;//办理人姓名
    @ExcelIgnore
    private Integer warningStatus;//预警情况 1.绿灯(20天以下),2.黄灯(20-30天),3红灯(30天以上)
    @ExcelIgnore
    private String circleFile; //闭环文件(上传文件（word、pdf、图片))
    @ExcelIgnore
    private Integer circleStatus; //闭环状态 1.当场支付 2.达成支付协议 3.书面投诉立案4.告知其他途径
    @TableField(exist = false)
    @ExcelIgnore
    private String industryText;//
    @TableField(exist = false)
    @ExcelIgnore
    private String reclassifyIndustryText;//重新归类所属行业字段
}
